home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 June / Macworld (1999-06).dmg / Shareware World / Info / For Developers / MacZoop2.0.sea / MacZoop2.0 / Required Classes / ZoopUtilities.h < prev    next >
Text File  |  1999-02-23  |  3KB  |  123 lines

  1. /*************************************************************************************************
  2. *
  3. *
  4. *            MacZoop 2.0 - "the framework for the rest of us"         
  5. *
  6. *
  7. *
  8. *            ZoopUtilities.h        -- general utilities
  9. *
  10. *
  11. *
  12. *
  13. *
  14. *            © 1999, Graham Cox
  15. *
  16. *
  17. *
  18. *
  19. *************************************************************************************************/
  20.  
  21. #pragma once
  22.  
  23. #ifndef __ZOOPUTILITIES__
  24. #define    __ZOOPUTILITIES__
  25.  
  26. extern Rect                gZoomFXSourceRect;
  27.  
  28. typedef enum
  29. {
  30.     ntMinimalAlert = 0,
  31.     ntAlertPlaySound = 1,
  32.     ntAlertDisplayMessage = 2,
  33.     ntAlertDefault = 3
  34. }
  35. NTAlertFlags;
  36.  
  37. // note that NotifyAlert assumes:
  38.  
  39. #define        kApplicationIconSuiteID        128
  40. #define        kNotificationSoundID        128
  41.  
  42.  
  43.  
  44. // assertion reporting:
  45.  
  46. void        AssertErr( long lineNo, char* srcName, char* reason, long val );
  47.  
  48. // handy basic pascal string utilities
  49.  
  50. void        CopyPString( ConstStr255Param srcString, Str255 destString );
  51. void        ConcatPStrings( Str255 root, ConstStr255Param append );
  52. void        CopyPStringTrunc( ConstStr255Param srcString, Str255 destString, unsigned char ccLim );
  53. void        ConcatPStringsTrunc( Str255 root, ConstStr255Param append, unsigned char ccLim );
  54.  
  55. void        CopyCToPString( char* cStringIn, Str255 pStringOut );
  56.  
  57. // standard function to determine if a GrafPort is colour or b/w
  58.  
  59. Boolean        IsColourPort( GrafPtr aPort );
  60.  
  61. // global func to set current port to black/white
  62.  
  63. void        SetPortBlackWhite();
  64.  
  65. // utility function to set hilite mode for invert ops
  66.  
  67. void        SetHiliteMode();
  68.  
  69. // check for drag manager including linkage check:
  70.  
  71. Boolean        MacHasDM();
  72.  
  73.  
  74. // get pixel depth of main screen
  75.  
  76. short        GetMainScreenDepth();
  77.  
  78. // Alert posting function that will handle notification if app suspended, Use wherever you would
  79. // otherwise use Alert. Default flags give typical behaviour, you can pass others to modify
  80. // behaviour.
  81.  
  82. // posting function- use it instead of Alert():
  83.     
  84. short        NotifyAlert( const short alertID, NTAlertFlags flags = ntAlertDefault );
  85.  
  86. // simple delay function (try to avoid delays since they waste time!).
  87. // MZWait will handle events while counting off the ticks, so can be more cooperative than
  88. // MZDelay though less accurate due to event latency.
  89.  
  90. void        MZDelay( short ticks );
  91. void        MZWait( unsigned short ticks );
  92.  
  93. // functions for setting up the global zoom FX source rect:
  94.  
  95. void        SetGlobalZoomSource( Rect* aGlobalRect );
  96. void        SetLocalZoomSource( Rect* aLocalRect );
  97.  
  98. Boolean        EqualMem( void* a, void* b, const unsigned long length );
  99. Boolean        EqualHandle( Handle a, Handle b );
  100.  
  101. void        Scale2Rects( Rect *theRect, Rect *refRect );
  102.  
  103. // function to convert real numbers to strings
  104.  
  105. void         RealToString( const double num, Str255& str, short decPlaces = 3 );
  106.  
  107. // functions for drawing 3D effect rectangles:
  108.  
  109. void        FrameGrayRect( Rect* aRect );
  110. void        EtchGrayRect( Rect* aRect );
  111.  
  112. // "marching ants" utils:
  113.  
  114. void        ShiftPattern( Pattern* aPat );
  115. void        AntsRegion( RgnHandle aRgn );
  116.  
  117. // balloon help util:
  118.  
  119. void        BalloonHelpRefresh();
  120.  
  121.  
  122. #endif
  123.